import java.util.Locale;
import java.util.Scanner;

/**
 * @Description
 */




public class Main {
    public static String add(String s1,String s2){
        //1逆序
        StringBuilder strA = new StringBuilder(s1);
        strA.reverse();
        StringBuilder strB = new StringBuilder(s2);
        strB.reverse();
        //2找出更大长度的字符串
        int lenA = s1.length();
        int lenB = s2.length();
        int maxLen = lenA>lenB?lenA:lenB;
        //3遍历数组
        boolean isCarry = false;
        StringBuilder result = new StringBuilder();
        for (int i = 0; i < maxLen; i++) {
            //补'0'
            char charA = i>=maxLen?'0':s1.charAt(i);
            char charB = i>=maxLen?'0':s2.charAt(i);

            //4处理相加运算
            if(charA=='0'&&charB=='0'){
                if (isCarry) {
                    result.append('1');
                }else{
                    result.append('0');
                }
                isCarry = false;

            }else if(charA=='1'&&charB=='1'){
                if(isCarry){
                    result.append('1');
                }else{
                    result.append('0');
                }
                isCarry = true;

            } else if (charA=='0'&&charB=='1') {
                if(isCarry){
                    result.append('0');
                    isCarry = true;
                }else{
                    result.append('1');
                    isCarry = false;
                }

            } else if (charA=='0'&&charB=='1') {
                if(isCarry){
                    result.append('0');
                    isCarry = true;
                }else{
                    result.append('1');
                    isCarry = false;
                }

            }else{
                //理论上不存在这种情况
            }
        }
        //5最后一位如果进位，则追加一个1
        if(isCarry){
            result.append('1');
        }
        //再逆序回来
        result.reverse();
        return result.toString();
    }
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String a = scanner.next();
        String b = scanner.next();
        String ret = add(a,b);
        System.out.println(ret);
    }

    public static void main4(String[] args) {
        //String s4 = String.valueOf(new Student("Hanmeimei", 18));
        String s3 = String.valueOf(true);
        System.out.println(s3);
        //System.out.println(s4);
    }
    public static String func(String s1,String s2){
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < s1.length(); i++) {
            char ch = s1.charAt(i);
            if(s2.indexOf(ch)!=-1){
                continue;
            }else{
                sb.append(ch);
            }
        }
        return sb.toString();
    }
    public static void main3(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextLine()){
            String s1 = scanner.nextLine();
            String s2 = scanner.nextLine();
            String ret = func(s1,s2);
            System.out.println(ret);
        }

    }
    public static void main2(String[] args) {;
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextLine()){
            String a = scanner.nextLine();
            System.out.println(a.toLowerCase());
        }
    }
    public static int fib(int n){
        if(n==1|n==2){
            return 1;
        }
        int f1 = 1;
        int f2 = 1;
        int f3 = 0;
        for (int i = 3; i <=n; i++) {
            f3 = f1+f2;
            f1 = f2;
            f2 = f3;
            
        }
        return f3;
        
    }

    public static void main1(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextInt()){
            int a = scanner.nextInt();
            int ret = fib(a);
            System.out.println(ret);
        }
    }
}
